ইলাস্টিকসার্চ (ElasticSearch)

Cluster সেটআপ এবং প্রাথমিক কনফিগারেশন

Latest Technologies - ইলাস্টিকসার্চ (ElasticSearch) - Elasticsearch ইন্সটলেশন এবং সেটআপ | NCTB BOOK

Elasticsearch Cluster সেটআপ এবং প্রাথমিক কনফিগারেশন

Elasticsearch ক্লাস্টার সেটআপ এবং প্রাথমিক কনফিগারেশন করতে হলে, প্রতিটি নোডের কনফিগারেশন ঠিকভাবে সেটআপ করতে হয়। একটি ক্লাস্টার মূলত এক বা একাধিক নোড নিয়ে গঠিত, যেখানে নোডগুলো একসঙ্গে ডেটা সংরক্ষণ এবং সার্চ অপারেশন সম্পন্ন করে। নিচে Elasticsearch ক্লাস্টার সেটআপ এবং প্রাথমিক কনফিগারেশন করার ধাপগুলো বিস্তারিতভাবে আলোচনা করা হলো।

ধাপ ১: Elasticsearch ইনস্টলেশন

  • Elasticsearch ইনস্টল করুন আপনার অপারেটিং সিস্টেম অনুযায়ী (Windows, Linux, বা macOS)। ইনস্টলেশনের বিস্তারিত প্রক্রিয়া আগেই আলোচনা করা হয়েছে।

ধাপ ২: কনফিগারেশন ফাইল এডিট করা

  • Elasticsearch ইনস্টলেশন ডিরেক্টরিতে একটি elasticsearch.yml ফাইল থাকে, যা সাধারণত নিচের লোকেশনে পাওয়া যায়:
    • Windows: C:\elasticsearch\config\elasticsearch.yml
    • Linux: /etc/elasticsearch/elasticsearch.yml
    • macOS: /usr/local/etc/elasticsearch/elasticsearch.yml
  • এই ফাইলটি ওপেন করুন এবং ক্লাস্টারের প্রয়োজনীয় কনফিগারেশনগুলি সেট করুন।

ধাপ ৩: ক্লাস্টারের নাম এবং নোডের নাম নির্ধারণ

  • ক্লাস্টার নাম এবং নোড নাম নির্ধারণ করা খুবই গুরুত্বপূর্ণ, যাতে প্রতিটি নোড ঠিকভাবে ক্লাস্টারের সাথে সংযুক্ত হতে পারে।
  • কনফিগারেশন ফাইলে নিচের লাইনে ক্লাস্টারের নাম এবং নোডের নাম সেট করুন:
cluster.name: my-cluster
node.name: node-1
  • cluster.name: ক্লাস্টারের নাম নির্ধারণ করে। সব নোডকে একই ক্লাস্টার নাম দিতে হবে, যাতে তারা একই ক্লাস্টারে সংযুক্ত হতে পারে।
  • node.name: প্রতিটি নোডের জন্য একটি ইউনিক নাম দিন, যা ক্লাস্টারের নোডগুলোকে শনাক্ত করতে সহায়ক হবে।

ধাপ ৪: নেটওয়ার্ক হোস্ট এবং পোর্ট কনফিগার করা

  • নেটওয়ার্ক সেটিংস কনফিগার করতে নিচের লাইনে হোস্ট এবং পোর্ট নির্ধারণ করুন:
network.host: 0.0.0.0
http.port: 9200
  • network.host: 0.0.0.0 সেট করে আপনি নিশ্চিত করছেন যে, ক্লাস্টারটি সমস্ত নেটওয়ার্ক ইন্টারফেস থেকে অ্যাক্সেসযোগ্য হবে। আপনি চাইলে একটি নির্দিষ্ট IP অ্যাড্রেসও ব্যবহার করতে পারেন, যেমন 192.168.1.1
  • http.port: HTTP পোর্ট হিসেবে 9200 সাধারণত ডিফল্ট থাকে, তবে আপনি ইচ্ছা করলে এটি পরিবর্তন করতে পারেন।

ধাপ ৫: নোডের ভূমিকা নির্ধারণ করা

Elasticsearch ক্লাস্টারে বিভিন্ন ধরনের নোড থাকে, যেমন Master, Data, বা Ingest Node। প্রতিটি নোডের ভূমিকা কনফিগারেশন ফাইলে নির্ধারণ করুন:

node.master: true
node.data: true
node.ingest: true

node.master: যদি এটি একটি Master Node হয়, তবে true সেট করুন, নাহলে false

node.data: যদি এটি একটি Data Node হয়, তবে true সেট করুন, নাহলে false

node.ingest: যদি এটি একটি Ingest Node হয়, তবে true সেট করুন, নাহলে false

একটি ক্লাস্টারে একাধিক Data Node এবং Ingest Node থাকতে পারে, তবে Master Node সাধারণত একটি বা কয়েকটি (সর্বাধিক ৩টি) রাখা হয়।

ধাপ ৬: ডিসকভারি সেটিংস কনফিগার করা

  • ক্লাস্টারের মধ্যে নোডগুলো সঠিকভাবে সংযুক্ত করতে ডিসকভারি সেটিংস কনফিগার করা প্রয়োজন। Master Node এবং অন্য নোডগুলোর IP অ্যাড্রেস তালিকাভুক্ত করুন:
discovery.seed_hosts: ["192.168.1.1", "192.168.1.2", "192.168.1.3"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]
  • discovery.seed_hosts: এখানে Master Node-এর IP অ্যাড্রেসগুলো লিস্ট করুন, যাতে নতুন নোডগুলো ক্লাস্টারে সংযুক্ত হতে পারে।
  • cluster.initial_master_nodes: ক্লাস্টারের প্রথম Master Node-গুলো তালিকাভুক্ত করুন, যাতে তারা ক্লাস্টারের স্টেট তৈরি করতে পারে।

ধাপ ৭: শার্ড এবং রেপ্লিকা সংখ্যা নির্ধারণ

  • প্রতিটি ইন্ডেক্সের প্রাইমারি শার্ড এবং রেপ্লিকা সংখ্যা নির্ধারণ করতে পারেন। এটি কনফিগারেশন ফাইলে সরাসরি পরিবর্তন না করলেও, ইন্ডেক্স তৈরির সময় নির্ধারণ করা যেতে পারে:
index.number_of_shards: 3
index.number_of_replicas: 1
  • index.number_of_shards: প্রতিটি ইন্ডেক্সে প্রাইমারি শার্ডের সংখ্যা নির্ধারণ করে।
  • index.number_of_replicas: প্রতিটি প্রাইমারি শার্ডের জন্য রেপ্লিকা শার্ডের সংখ্যা নির্ধারণ করে।

ধাপ ৮: Elasticsearch সার্ভিস চালু করা

  • কনফিগারেশন পরিবর্তনের পর Elasticsearch সার্ভিস পুনরায় চালু করুন।
  • Windows-এ:
C:\elasticsearch\bin\elasticsearch.bat
  • Linux-এ:
sudo systemctl start elasticsearch
  • macOS-এ:
elasticsearch

ধাপ ৯: ক্লাস্টারের স্বাস্থ্য যাচাই করা

  • ক্লাস্টার ঠিকভাবে কাজ করছে কিনা তা যাচাই করতে ব্রাউজারে বা টার্মিনালে নিচের URL-এ যান:
http://localhost:9200/_cluster/health?pretty
  • এটি ক্লাস্টারের স্বাস্থ্য সম্পর্কিত তথ্য এবং স্ট্যাটাস প্রদর্শন করবে। স্ট্যাটাস green হলে বুঝবেন যে, ক্লাস্টার ঠিকভাবে কাজ করছে।

উপসংহার

Elasticsearch ক্লাস্টার সেটআপ এবং প্রাথমিক কনফিগারেশন করতে হলে, প্রতিটি নোড সঠিকভাবে কনফিগার করতে হবে। ক্লাস্টারের নাম, নোডের ভূমিকা, নেটওয়ার্ক সেটিংস, এবং ডিসকভারি সেটিংস সঠিকভাবে নির্ধারণ করে একটি কার্যকর এবং স্কেলেবল ক্লাস্টার তৈরি করা সম্ভব। একবার ক্লাস্টার সঠিকভাবে সেটআপ হয়ে গেলে, এটি বড় আকারের ডেটা ইন্ডেক্সিং এবং সার্চ অপারেশন করতে সক্ষম হয়।

Content added By
Promotion